// *** ADDED BY HEADER FIXUP ***
#include <exception>
#include <string>
// *** END ***
#include "InterfaceLogin.h"

RetornoInfo InterfaceLogin::executarv2()
{
    RetornoInfo RL;
    bool ok;
    string info;
    Email mail;
    Senha senha;
    do
    {
        ok = true;
        info = Request::getSParameter("Digite o email : ");
        try
        {
            mail.setValor(info);
        }
        catch(invalid_argument &e)
        {
            ok = false;
            notificarErroDigitacao(e);
        }
    }
    while(!ok);
    do
    {
        ok = true;
        info = Request::getSParameter("Digite a senha : ");
        try
        {
            senha.setValor(info);
        }
        catch(invalid_argument &e)
        {
            ok = false;
            notificarErroDigitacao(e);
        }
    }
    while(!ok);
    ComandosNegociosLogin CMDNL;
    try
    {
        CMDNL.executar(mail,senha,RL);
    }
    catch(EErroPersistencia &exp)
    {
        ok = false;
        notificarErroBD(exp);
    }
    catch(exception &e)
    {
        ok = false;
    }
    RL.ok = ok;
    return RL;
}
